home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / progs.zip / PROGS.DOC < prev    next >
Text File  |  1991-09-16  |  9KB  |  244 lines

  1.                                 PROGS
  2.  
  3.                   Copyright (C) 1991, Chris Scullion
  4.                            CIS: 70242,2147
  5.               internet: cscullio@ncratl.atlantaga.ncr.com
  6.  
  7. 1.0  INTRODUCTION
  8. -----------------
  9.  
  10. PROGS is a simple menuing program that allows execution of a program at the
  11. press of a single button.  The menu can be color-coded to suit your needs,
  12. command line arguments can be optionally specified, and a 'pause after
  13. program end' feature can be configured.  There is also a built-in screen saver
  14. which blanks the screen if the menu has been inactive for 10 minutes.  This
  15. program is perfect for:
  16.  
  17.   - creating an easy to use program list for children
  18.   - creating a list of online documentation available for viewing
  19.   - creating a tree structured execution list for complex systems
  20.  
  21. The program uses very little memory to minimize negative effects on large
  22. programs.  The goal is to keep the memory utilization below 24K for this
  23. and all future version of the program.
  24.  
  25. 2.0  PACKAGING
  26. --------------
  27.  
  28. PROGS is packaged with three files:
  29.  
  30.   - PROGS.EXE -- the program itself
  31.   - PROGS.CFG -- a sample configuration file
  32.   - PROGS.DOC -- this documentation file
  33.  
  34. PROGS.EXE looks for the file PROGS.CFG in the current directory at startup
  35. time.  PROGS.CFG contains all details about the programs to appear in the
  36. menu.
  37.  
  38. 3.0  CONFIGURATION
  39. ------------------
  40.  
  41. The format of the PROGS.CFG file is very rigid and important.  Very little
  42. program space is used for error detection while reading this file, so careful
  43. attention to this format is vital.
  44.  
  45. 3.1  LINE 1
  46. -----------
  47.  
  48. The first line of PROGS.CFG contains the title of the menu as it appears on
  49. the screen.  The sample file shows this as 'Program List      ...'.  Note the
  50. trailing blanks on this line.  PROGS appends a four digit error code to the
  51. end of this line when it displays it on the screen.  The spaces can be used
  52. to position the error code on the right side of the menu display, if you so
  53. desire.
  54.  
  55. 3.2  LINE 2
  56. -----------
  57.  
  58. The second line of PROGS.CFG contains a list of eight (8) space-separated
  59. numbers.  These numbers represent, in order:
  60.  
  61.   - foreground color
  62.   - background color
  63.   - menu item color 1
  64.   - menu item color 2
  65.   - menu item color 3
  66.   - menu item color 4
  67.   - menu item color 5
  68.   - menu item color 6
  69.  
  70. The color numbers are coded as follows:
  71.  
  72.     Black         0
  73.     Red           1
  74.     Green         2
  75.     Yellow        3
  76.     Blue          4
  77.     Magenta       5
  78.     Cyan          6
  79.     White         7
  80.     LightRed     11
  81.     LightGreen   12
  82.     LightYellow  13
  83.     LightBlue    14
  84.     LightMagenta 15
  85.     LightCyan    16
  86.     LightWhite   17
  87.  
  88. Note that you can add blinking to any color by adding 128 (e.g., blinking
  89. white would be 128 + 7 = 135).
  90.  
  91. 3.3  REMAINING LINES
  92. --------------------
  93.  
  94. The remaining lines of PROGS.CFG are grouped in threes, three lines per
  95. menu item.  There is a limit of twenty (20) menu items.  Any lines after the
  96. twentieth menu item are ignored by PROGS.  The first line of the group of
  97. three lines is the description of the menu item as it should appear on the
  98. menu.  There is a limit of sixty (60) characters on this (and all)
  99. configuration line.  There are three special characters which can precede your
  100. menu item description.  The characters and their effects are:
  101.  
  102.   - '$' -- causes a color change beginning with this menu item
  103.   - '#' -- causes PROGS to prompt for additional command line parameters if
  104.            this menu item is selected
  105.   - '%' -- causes PROGS to prompt for a keypress upon completion of the
  106.            program associated with this menu item
  107.  
  108. Note that any combination of these may appear on a single description line.
  109. For example:
  110.  
  111. $#My menu item
  112.  
  113. will cause a color change starting with this item AND will cause PROGS to
  114. prompt for additional user parameters.  PROGS strips these characters from
  115. the description before displaying the item on the menu.
  116.  
  117. The second line in the group of three is the executable file to run when the
  118. menu item is selected.  This must be a program which can be executed, not
  119. a batch file.  Batch files CAN be associated with menu items by using the
  120. following configuration line:
  121.  
  122. \dos\command.com /cmybatch.bat
  123.  
  124. where 'mybatch.bat' is the batch file to execute and '\dos\command.com' is
  125. the filename of your command processor.
  126.  
  127. Command line arguments may follow the program name, but remember that there is
  128. a 60 character limit for the configuration line.
  129.  
  130. You may or may not wish to supply a full path name for the executable file.
  131. A full path name is not necessary if:
  132.  
  133.   - the program is locatable in the PATH (environment variable)
  134.   - the program's directory is specified as the working directory (see below)
  135.  
  136. The third line of the three is the working directory.  PROGS will switch to this
  137. directory BEFORE executing the program specified on the second line.  PROGS
  138. records the current directory before switching, and restores it upon
  139. completion of the executed program.  Note that if you don't care what the
  140. working directory is, or you want the same directory as PROGS.EXE, specify
  141. the current directory '.'.
  142.  
  143. A complete menu item configuration group would appear as follows:
  144.  
  145. My menu description
  146. \mydir\myprog.exe -option1 -option2
  147. .
  148.  
  149. 4.0  USAGE
  150. ----------
  151.  
  152. PROGS presents a color coded menu to the user.  Each line of the menu contains
  153. a letter and a description.  The description is the text description specified
  154. in the configuration file.  To activate a menu choice, press the letter
  155. corresponding to the menu item.  If the menu item has been configured for
  156. additional user parameters (the '#' option), a line appears at the bottom
  157. of the menu, prompting the user to enter parameters:
  158.  
  159. Enter additional arguments:
  160.  
  161. Type the filename or other arguments to be used in the execution of the program
  162. and press <Enter>.
  163.  
  164. To exit the menu (and the PROGS program), press <Esc> when the menu is
  165. displayed.  Once a menu letter has been pressed, there is no provision for
  166. cancellation.
  167.  
  168. The menu reappears after the selected program terminates, unless the '%'
  169. option is specified for that menu item in the configuration file.  In this
  170. case, PROGS prompts:
  171.  
  172. Press <Enter> to continue...
  173.  
  174. To return to the PROGS menu, press the <Enter> key.
  175.  
  176. After 10 minutes of inactivity in the menu, PROGS will blank the screen.  To
  177. restore the screen, press <space> or any selection letter.
  178.  
  179. 5.0  HINTS AND TIPS
  180. -------------------
  181.  
  182. I use PROGS to maintain a list of online documentation.  Since I like to have
  183. documentation associated with a program in the same directory as the program,
  184. it is inconvenient to find documentation for a specific utility using an
  185. editor.  You need to remember the path name and file name of the documentation
  186. and type it in to your editor or viewer.  With PROGS, each menu item can be
  187. a document, with the program to execute being you favorite file viewer or
  188. editor.  For example, here's a possible documentation configuration file:
  189.  
  190. Online Documentation
  191. 7 0 9 10 11 12 13 14
  192. Emacs user's guide
  193. \dos\viewer.exe emacs.doc
  194. \emacs
  195. $FAX instructions
  196. \dos\viewer.exe fax.txt
  197. \fax
  198. $Phone list
  199. \dos\viewer.exe phone.lst
  200. \personal
  201.  
  202. You can nest PROGS within itself by putting a new PROGS.CFG in a separate 
  203. directory.  For instance suppose there was a directory called '\DOCS' with the
  204. above PROGS.CFG in it.  In the root directory (or anywhere else, for that
  205. matter) is a copy of PROGS.EXE and an associated PROGS.CFG with the following
  206. contents:
  207.  
  208. Main Program List
  209. 7 0 9 10 11 12 13 14
  210. #WordPerfect
  211. \wp51\wp.exe
  212. \
  213. WordPerfect, Project Files
  214. \wp51\wp.exe
  215. \project
  216. $Online Documentation              <---
  217. \progs.exe                         <---
  218. \docs                              <---
  219. Games
  220. \progs.exe
  221. \games
  222. $Windows
  223. win.com
  224. \windows
  225.  
  226. 6.0  THE PITCH
  227. --------------
  228.  
  229. PROGS is SHAREWARE.  You know the routine, send me $10.00 if you decide to use
  230. it (or just to be nice).  MORE IMPORTANTLY, tell me what I can do to improve
  231. PROGS.  I use it all the time, so I may be 'too close' to it to see where it
  232. could use some changing.  Keep in mind that the low memory utilization is a
  233. limit I'd like to honor.  The program takes about 16K now, so that leaves room
  234. for about 8K of improvement.  I'll keep a mailing list of all registered users
  235. and send out notices of new versions (or new programs) as they become available
  236. (so include your address).
  237.  
  238.  
  239.                        Chris Scullion
  240.                        304 Hickory View Drive
  241.                        Lawrenceville, GA 30245
  242.                        CIS: 70242,2147
  243.                        internet: cscullio@ncratl.atlantaga.ncr.com
  244.